package top.superflow.db.api

import scala.concurrent.Future

trait DBServer {
  
  def startup (dbConfiguration : DBServerConfiguration): Future[Future[DBServer]]
  
  def active : Any
  
  def shutdown : Future[DBServer]
  
  def getStatus : DBStatus
  
  def create (dbConfig : DBConfiguration)
  
  def load(dbConfig : DBConfiguration): Future[DBPool]
  
  def register(database : DBConnection)
  
  def getDBHome : String
  
  def addUser(user : String, password : String, resources : String)
  
  def dropUser(user : String, passwrod : String)
}